﻿//Abm_filtro

//Validacion para el control ca_caracteres
function val_ca_caracteres(id_ca_caracteres, val_tp_dato, id_lbl_val_ca_caracteres)
{
    //obtiene los elementos
    var o_ca_caracteres = document.getElementById(id_ca_caracteres);
    var o_lbl_val_ca_caracteres = document.getElementById(id_lbl_val_ca_caracteres);

    //ca_caracteres obligatorio solo si tp_dato es "S"
    if (val_tp_dato == 'S')
    {   
        if (o_ca_caracteres.value == '')
        {  
           o_lbl_val_ca_caracteres.innerHTML = ' Se requiere un valor entre 1 y 999999999.';
           return;
        }
        else
        {
            o_lbl_val_ca_caracteres.innerHTML = '';
        }
    }
    
    //Rango numerico
    if (val_tp_dato == 'N')
    {
        if (o_ca_caracteres.value < 1 || o_ca_caracteres.value > 999999999)
        {
            o_lbl_val_ca_caracteres.innerHTML = ' Se requiere un valor entre 1 y 999999999.';
        }
        else
        {
            o_lbl_val_ca_caracteres.innerHTML = '';
        }
    }    
}

    
//Validacion de rango maximo predeterminado
function val_rangominpredeterminado(id_va_minimo, id_va_maximo, id_lbl_val_va_minimo, id_lbl_val_va_maximo, val_tp_dato)
{
    //obtiene los elementos
    var o_va_minimo = document.getElementById(id_va_minimo);
    var o_va_maximo = document.getElementById(id_va_maximo);
    var o_lbl_val_va_minimo = document.getElementById(id_lbl_val_va_minimo);
    var o_lbl_val_va_maximo = document.getElementById(id_lbl_val_va_maximo);
    
    //validar que el tipo de datos sea correcto.
        switch(val_tp_dato)
        {
        case 'S':
            try
            {
                o_va_minimo.value = String(o_va_minimo.value);
                
                o_lbl_val_va_minimo.innerHTML = '';
            }
            catch(err)
            {
                alert(err);
            
                o_lbl_val_va_minimo.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }            
            break;
        case 'N':
            if (isNaN(o_va_minimo.value))
            {
                o_lbl_val_va_minimo.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }
             else
            {
                o_lbl_val_va_minimo.innerHTML = '';
            }
            break;
        case 'F':            
            if (ValidarFecha(o_va_minimo.value))
            {
                o_lbl_val_va_minimo.innerHTML = '';        
            }
            else
            {
                o_lbl_val_va_minimo.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }
            break;
         case 'L':
            if (o_va_minimo.value == 0 || o_va_minimo.value == 1)
            {
                o_lbl_val_va_minimo.innerHTML = '';
            }
            else
            {
                o_lbl_val_va_minimo.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }
        }    
        
    //El valor maximo tiene que ser mayor que el minimo.
    if (o_va_minimo.value != '' && o_va_maximo.value != '')
    {
        if (o_va_maximo.value < o_va_minimo.value)
        {
            o_lbl_val_va_minimo.innerHTML = ' Error en valores de rango.';
            o_lbl_val_va_maximo.innerHTML = ' Error en valores de rango.';
            return;            
        }
        else
        {
            o_lbl_val_va_minimo.innerHTML = '';
            o_lbl_val_va_maximo.innerHTML = '';
        }
    }
 }

//Validacion de rango minimo predeterminado
function val_rangomaxpredeterminado(id_va_minimo, id_va_maximo, id_lbl_val_va_minimo, id_lbl_val_va_maximo, val_tp_dato)
{
    //obtiene los elementos
    var o_va_minimo = document.getElementById(id_va_minimo);
    var o_va_maximo = document.getElementById(id_va_maximo);
    var o_lbl_val_va_minimo = document.getElementById(id_lbl_val_va_minimo);
    var o_lbl_val_va_maximo = document.getElementById(id_lbl_val_va_maximo);
    
    //validar que el tipo de datos sea correcto.
        switch(val_tp_dato)
        {
        case 'S':
            try
            {
                o_va_maximo.value = String(o_va_maximo.value);
                
                o_lbl_val_va_maximo.innerHTML = '';
            }
            catch(err)
            {
                o_lbl_val_va_maximo.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }            
            break;
        case 'N':
            if (isNaN(o_va_maximo.value))
            {
                o_lbl_val_va_maximo.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }
            else
            {
                o_lbl_val_va_maximo.innerHTML = '';
            }
            break;
        case 'F':
            if (ValidarFecha(o_va_maximo.value))
            {
                o_lbl_val_va_maximo.innerHTML = '';        
            }
            else
            {
                o_lbl_val_va_maximo.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }
            break;
         case 'L':
            if (o_va_maximo.value == 0 || o_va_maximo.value == 1)
            {
                o_lbl_val_va_maximo.innerHTML = '';
            }
            else
            {
                o_lbl_val_va_maximo.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }                       
        }    
        
    //El valor maximo tiene que ser mayor que el minimo.
    if (o_va_minimo.value != '' && o_va_maximo.value != '')
    {
        if (o_va_maximo.value < o_va_minimo.value)
        {
            o_lbl_val_va_minimo.innerHTML = ' Error en valores de rango.';
            o_lbl_val_va_maximo.innerHTML = ' Error en valores de rango.';
            return;            
        }
        else
        {
            o_lbl_val_va_minimo.innerHTML = '';
            o_lbl_val_va_maximo.innerHTML = '';
        }
    }
}  

//Validacion de rango maximo predeterminado
function val_rangomindefecto(id_va_defecto_min, id_va_defecto_max, id_lbl_val_va_defecto_min, id_lbl_val_va_defecto_max, val_tp_dato)
{
    //obtiene los elementos
    var o_va_defecto_min = document.getElementById(id_va_defecto_min);
    var o_va_defecto_max = document.getElementById(id_va_defecto_max);
    var o_lbl_val_va_defecto_min = document.getElementById(id_lbl_val_va_defecto_min);
    var o_lbl_val_va_defecto_max = document.getElementById(id_lbl_val_va_defecto_max);
    
    //validar que el tipo de datos sea correcto.
        switch(val_tp_dato)
        {
        case 'S':
            try
            {
                o_va_defecto_min.value = String(o_va_defecto_min.value);
                
                o_lbl_val_va_defecto_min.innerHTML = '';
            }
            catch(err)
            {
                alert(err);
            
                o_lbl_val_va_defecto_min.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }            
            break;
        case 'N':
            if (isNaN(o_va_defecto_min.value))
            {
                o_lbl_val_va_defecto_min.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }
             else
            {
                o_lbl_val_va_defecto_min.innerHTML = '';
            }
            break;
        case 'F':            
            if (ValidarFecha(o_va_defecto_min.value))
            {
                o_lbl_val_va_defecto_min.innerHTML = '';        
            }
            else
            {
                o_lbl_val_va_defecto_min.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }
            break;
         case 'L':
            if (o_va_defecto_min.value == 0 || o_va_defecto_min.value == 1)
            {
                o_lbl_val_va_defecto_min.innerHTML = '';
            }
            else
            {
                o_lbl_val_va_defecto_min.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }      
        }    
        
    //El valor maximo tiene que ser mayor que el minimo.
    if (o_va_defecto_min.value != '' && o_va_defecto_max.value != '')
    {
        if (o_va_defecto_max.value < o_va_defecto_min.value)
        {
            o_lbl_val_va_defecto_min.innerHTML = ' Error en valores de rango.';
            o_lbl_val_va_defecto_max.innerHTML = ' Error en valores de rango.';
            return;            
        }
        else
        {
            o_lbl_val_va_defecto_min.innerHTML = '';
            o_lbl_val_va_defecto_max.innerHTML = '';
        }
    }
 }

//Validacion de rango minimo predeterminado
function val_rangomaxdefecto(id_va_defecto_min, id_va_defecto_max, id_lbl_val_va_defecto_min, id_lbl_val_va_defecto_max, val_tp_dato)
{
    //obtiene los elementos
    var o_va_defecto_min = document.getElementById(id_va_defecto_min);
    var o_va_defecto_max = document.getElementById(id_va_defecto_max);
    var o_lbl_val_va_defecto_min = document.getElementById(id_lbl_val_va_defecto_min);
    var o_lbl_val_va_defecto_max = document.getElementById(id_lbl_val_va_defecto_max);
    
    //validar que el tipo de datos sea correcto.
        switch(val_tp_dato)
        {
        case 'S':
            try
            {
                o_va_defecto_max.value = String(o_va_defecto_max.value);
                
                o_lbl_val_va_defecto_max.innerHTML = '';
            }
            catch(err)
            {
                o_lbl_val_va_defecto_max.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }            
            break;
        case 'N':
            if (isNaN(o_va_defecto_max.value))
            {
                o_lbl_val_va_defecto_max.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }
            else
            {
                o_lbl_val_va_defecto_max.innerHTML = '';
            }
            break;
        case 'F':
            if (ValidarFecha(o_va_defecto_max.value))
            {
                o_lbl_val_va_defecto_max.innerHTML = '';        
            }
            else
            {
                o_lbl_val_va_defecto_max.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }
            break;
         case 'L':
            if (o_va_defecto_max.value == 0 || o_va_defecto_max.value == 1)
            {
                o_lbl_val_va_defecto_max.innerHTML = '';
            }
            else
            {
                o_lbl_val_va_defecto_max.innerHTML = ' Tipo de dato incorrecto.';
                return;
            }               
        }    
        
    //El valor maximo tiene que ser mayor que el minimo.
    if (o_va_defecto_min.value != '' && o_va_defecto_max.value != '')
    {
        if (o_va_defecto_max.value < o_va_defecto_min.value)
        {
            o_lbl_val_va_defecto_min.innerHTML = ' Error en valores de rango.';
            o_lbl_val_va_defecto_max.innerHTML = ' Error en valores de rango.';
            return;            
        }
        else
        {
            o_lbl_val_va_defecto_min.innerHTML = '';
            o_lbl_val_va_defecto_max.innerHTML = '';
        }
    }
}


//---------------------------------------------------------------------------------
//Abm_Filtros_Reporte

//Validacion a control nu_orden 
function val_nu_orden(id_nu_orden,id_lbl_val_nu_orden)
{
    //obtiene los elementos
    var o_nu_orden = document.getElementById(id_nu_orden);
    var o_lbl_val_nu_orden = document.getElementById(id_lbl_val_nu_orden);

    //es obligatorio
    if (o_nu_orden.value == '')
    {
        o_lbl_val_nu_orden.innerHTML = ' Se requiere un valor númerico mayor a cero.';
        return;
    }
    else
    {
        o_lbl_val_nu_orden.innerHTML = "";
    }
        
    //verifica que el valor ingresado sea numerico
    if (isNaN(parseInt(o_nu_orden.value)))
    {
        o_lbl_val_nu_orden.innerHTML = ' Se requiere un valor númerico mayor a cero.';
        return;
    }
    else
    {
        o_lbl_val_nu_orden.innerHTML = '';
    }
    
    //verifica que el valor sea mayor a cero
    if (parseInt(o_nu_orden.value) < 1)
    {
        o_lbl_val_nu_orden.innerHTML = ' Se requiere un valor númerico mayor a cero.';
        return;
    }
    else
    {
        o_lbl_val_nu_orden.innerHTML = '';
    }
}


//---------------------------------------------------------------------------------
//Abm_Reportes

//Validacion del control ca_timeout
function val_ca_timeout(id_ca_timeout, id_lbl_val_ca_timeout)
{
     //obtiene los elementos
    var o_ca_timeout = document.getElementById(id_ca_timeout);
    var o_lbl_val_ca_timeout = document.getElementById(id_lbl_val_ca_timeout);
    
    //Rango de valores aceptados
    if (o_ca_timeout.value < 0 || o_ca_timeout.value > 1000)
    {
        o_lbl_val_ca_timeout.innerHTML = ' Se requiere un valor númerico entre 0 y 1000.';
        return;
    }
    else
    {
        o_lbl_val_ca_timeout.innerHTML = '';
    }
}
